﻿/*+===================================================================
File:      BossTwoBullet.cpp

Summary:   Định nghĩa các phương thức của CBossTwoBullet.
===================================================================+*/

#include "BossTwoBullet.h"


CBossTwoBullet::CBossTwoBullet(D3DXVECTOR2 pos, int id, int typeID, float angle) :
CBullet(pos, id, typeID, angle)
{
	m_pSprite = m_pResourceManager->GetSprite(ID_SPRITE_BOSS_TWO_BULLET);
	m_v.x = 180.0f;
	m_v.y = 180.0f;

	m_fRotateAngle = 0.0f;

	m_box.width = 30;
	m_box.height = 30;

	// Tính toán lại vị trí viên đạn theo hướng bắn.
	m_v.x *= cos(angle * PI / 180.0f);
	m_v.y *= sin(angle * PI / 180.0f);
}


CBossTwoBullet::~CBossTwoBullet()
{

}

void CBossTwoBullet::Update(float timeFrame)
{
	CBullet::Update(timeFrame);

	// Hiệu ứng xoay.
	if (m_fTimeRotate > 0)
		m_fTimeRotate -= timeFrame;
	else
	{
		m_fTimeRotate = 0.08f;
		m_fRotateAngle += 45.0f;
	}
}

void CBossTwoBullet::Draw()
{
	if (!m_bIsLive)
		return;

	D3DXVECTOR2 pos = CViewport::GetInstance()->TransformMatrix(m_pos);
	m_pSprite->Draw(pos, (m_fRotateAngle * PI) / 180.0f);
}